import 'package:architecture/os_size.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import 'print_pdf_controller.dart';

class PrintPdfPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GetBuilder<PrintPdfController>(
      init: PrintPdfController(),
      builder: (controller) {
        return Scaffold(
          appBar: AppBar(
            title: Text('打印pdf'),
            actions: [
              IconButton(
                icon: Icon(Icons.print),
                onPressed: controller.printPdf,
              ),
            ],
          ),
          body: Padding(
            padding: const EdgeInsets.all(16.0),
            child: ListView(
              children: [
                Center(
                    child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: [
                    Icon(
                      Icons.production_quantity_limits_outlined,
                      size: 50,
                      color: Colors.blueAccent,
                    ),
                    Column(
                      children: [
                        Text(
                          '中铝山东有限公司',
                          style: TextStyle(
                            fontSize: 18,
                            letterSpacing: 8,
                          ),
                        ),
                        SizedBox(height: 4),
                        Text(
                          '产品质量证明书',
                          style: TextStyle(
                            fontSize: 22,
                          ),
                        ),
                      ],
                    ),
                    Text(
                      'NO: 1250430031',
                      style: TextStyle(
                        fontSize: 14,
                      ),
                    ),
                  ],
                )),
                SizedBox(height: 15),
                // 基本信息行
                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  crossAxisAlignment: CrossAxisAlignment.end,
                  children: [
                    Column(
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: [
                        Text('提单号：393301', style: TextStyle(fontSize: 14)),
                        Text(
                          '单位名称：中铝新材料有限公司（福建坤彩材料科技股份有限公司）',
                          style: TextStyle(fontSize: 14),
                        ),
                      ],
                    ),
                    Container(
                        // margin: EdgeInsets.only(right: windowWidth * 0.1),
                        child: Text('标准：GB/T 24487-2022',
                            style: TextStyle(fontSize: 14))),
                  ],
                ),
                SizedBox(height: 2),
                // Table(
                //   border: TableBorder.all(),
                //   defaultColumnWidth: FixedColumnWidth(80.0), // 可选
                //   children: [
                //     // 第一行
                //     TableRow(children: [
                //       _buildCell('产品名称'),
                //       _buildCell('氧化铝(T)'),
                //       _buildCell('合计重量'),
                //       _buildCell('34.022吨'),
                //       _buildCell('折干重量'),
                //       _buildEmptyCell(), // 填充到10列
                //     ]),
                //   ],
                // ),
                // Table(
                //   border: TableBorder.all(),
                //   defaultColumnWidth: FixedColumnWidth(80.0), // 可选
                //   children: [
                //     // 第二行
                //     TableRow(children: [
                //       _buildCell('产品批号'),
                //       _buildCell('产品牌号'),
                //       _buildCell('净重'),
                //       _buildEmptyCell(),
                //       _buildCell('化验结果'),
                //       _buildEmptyCell(),
                //       _buildEmptyCell(),
                //       _buildEmptyCell(),
                //       _buildEmptyCell(),
                //       _buildEmptyCell(),
                //     ]),
                //
                //     // 第三行（化验结果）
                //     TableRow(
                //         children: List.generate(10, (index) {
                //       switch (index) {
                //         case 3:
                //           return _buildCell('A1203%');
                //         case 4:
                //           return _buildCell('Fe203%');
                //         case 5:
                //           return _buildCell('Na20%');
                //         case 6:
                //           return _buildCell('Si02%');
                //         case 7:
                //           return _buildCell('灼减%');
                //         case 8:
                //           return _buildCell('-45um筛分');
                //         case 9:
                //           return _buildCell('CaO%');
                //         default:
                //           return _buildEmptyCell();
                //       }
                //     })),
                //
                //     // 第四行数据
                //     TableRow(children: [
                //       _buildCell('AD25-6660'),
                //       _buildCell('AO-1'),
                //       _buildCell('34.022'),
                //       _buildCell('98.62'),
                //       _buildCell('0.009'),
                //       _buildCell('0.366'),
                //       _buildCell('0.013'),
                //       _buildCell('0.99'),
                //       _buildCell('10.7'),
                //       _buildCell('0.03'),
                //     ]),
                //     // 新增的5行空白行
                //     ...List.generate(
                //       5,
                //       (_) => TableRow(
                //           children:
                //               List.generate(10, (_) => _buildEmptyCell())),
                //     ),
                //   ],
                // ),
                _table(),
                SizedBox(height: 16),
                Text('备注: 鲁Q687CS.'),
                Text('制表: 王秀芳 审核: 日期: 2025-5-3 技术应用中心制'),
              ],
            ),
          ),
        );
      },
    );
  }

  Widget _buildCell(String text,
      {bool isHeader = false, bool showBoard = true, double height = 40}) {
    return Container(
      height: height,
      alignment: Alignment.center,
      decoration: BoxDecoration(
        border: showBoard ? Border.all(color: Colors.black, width: 0.5) : null,
        // color: isHeader ? Colors.grey[300] : null,
      ),
      padding: EdgeInsets.all(8.0),
      child: Text(text),
    );
  }

  _table() {
    _list() {
      return Expanded(
          child: Container(
        height: 40,
        alignment: Alignment.center,
        decoration: BoxDecoration(
          border: Border.all(color: Colors.black, width: 0.15),
          // color: isHeader ? Colors.grey[300] : null,
        ),
        padding: EdgeInsets.all(8.0),
        child: Text(''),
      ));
    }

    Widget _buildHeader() {
      return Row(
        children: [
          Expanded(child: _buildCell('产品名称', isHeader: true)),
          Expanded(child: _buildCell('氧化铝(T)', isHeader: true)),
          Expanded(child: _buildCell('合计重量', isHeader: true)),
          Expanded(
              flex: 3,
              child: Row(
                children: [
                  Expanded(child: _buildCell('34.022吨', isHeader: true)),
                  Expanded(child: _buildCell('折干重量', isHeader: true)),
                  Expanded(child: _buildCell('', isHeader: true)),
                ],
              ))
        ],
      );
    }

    // 定义新增的行方法
    Widget _buildAdditionalRows() {
      return Column(
          children: List.generate(
              10,
              (index) => Container(
                  height: 40, // 可以根据需要调整高度
                  child: Row(children: [
                    Expanded(child: _buildCell('')),
                    Expanded(child: _buildCell('')),
                    Expanded(child: _buildCell('')),
                    Expanded(
                        flex: 3,
                        child: Row(
                          children: [
                            _list(),
                            _list(),
                            _list(),
                            _list(),
                            _list(),
                            _list(),
                            _list(),
                            _list(),
                            _list(),
                            _list()
                          ],
                        ))
                  ]))));
    }

    Widget _buildDataRow() {
      return Column(
        children: [
          Row(
            children: [
              Expanded(child: _buildCell('产品批号', isHeader: true, height: 80)),
              Expanded(child: _buildCell('产品牌号', isHeader: true, height: 80)),
              Expanded(child: _buildCell('净重', isHeader: true, height: 80)),
              Expanded(
                  flex: 3,
                  child: Column(
                    children: [
                      _buildCell('化验结果', isHeader: true, showBoard: false),
                      Row(
                        children: [
                          Expanded(child: _buildCell('AD25-6660')),
                          Expanded(child: _buildCell('AO-1')),
                          Expanded(child: _buildCell('34.022')),
                          Expanded(child: _buildCell('98.62')),
                          Expanded(child: _buildCell('0.009')),
                          Expanded(child: _buildCell('0.366')),
                          Expanded(child: _buildCell('')),
                          Expanded(child: _buildCell('')),
                          Expanded(child: _buildCell('')),
                        ],
                      )
                    ],
                  )),
            ],
          ),
          Row(
            children: [
              Expanded(child: _buildCell('AD25-6660')),
              Expanded(child: _buildCell('AO-1')),
              Expanded(child: _buildCell('34.022')),
              Expanded(
                  flex: 3,
                  child: Row(
                    children: [
                      Expanded(child: _buildCell('98.62')),
                      Expanded(child: _buildCell('0.009')),
                      Expanded(child: _buildCell('0.366')),
                      Expanded(child: _buildCell('0.013')),
                      Expanded(child: _buildCell('0.99')),
                      Expanded(child: _buildCell('10.7')),
                      Expanded(child: _buildCell('0.03')),
                      Expanded(child: _buildCell('')),
                      Expanded(child: _buildCell('')),
                      Expanded(child: _buildCell('')),
                    ],
                  ))
            ],
          ),
          _buildAdditionalRows()
        ],
      );
    }

    Widget _buildFooter() {
      return Row(
        children: [
          Expanded(child: _buildCell('备注', isHeader: true)),
          Expanded(
            flex: 9,
            child: _buildCell('鲁Q687CS。'),
          ),
        ],
      );
    }

    return Column(
      children: [
        _buildHeader(),
        _buildDataRow(),
        _buildFooter(),
      ],
    );
  }

  // 构建带文字的 TableCell
  // TableCell _buildCell(String text) {
  //   return TableCell(
  //     child: Padding(
  //       padding: EdgeInsets.all(4),
  //       child: Center(child: Text(text)),
  //     ),
  //   );
  // }

  // 构建空白 TableCell
  TableCell _buildEmptyCell() {
    return TableCell(
      child: Padding(
          padding: EdgeInsets.all(4),
          child: Container(
            height: 20,
          )),
    );
  }
}
